package com.ojoin.trade.supplyloan_core.web.service;

import com.ojoin.trade.common.exception.BusinessException;
import com.ojoin.trade.common.web.service.BaseService;
import com.ojoin.trade.supplyloan_core.web.domain.*;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 15-10-28
 * Time: 下午1:22
 * To change this template use File | Settings | File Templates.
 */
public interface TbSlLoanRefundService extends BaseService<TbSlLoanRefundLog> {

    public void insertTbSlLoanRefund(TbSlLoanRefundLog refundLogvo)throws BusinessException;

    public List<TbSlLoanRefundLogVo> queryTbSlLoanReFundvos(int Joinid,Pageable page)throws BusinessException;

    public List<TbSlRepayCreditVo> queryRepayCreditByJoinid(int joinid,Pageable page)throws BusinessException;

    public List<TbSlLoanRefundVo> queryLoanRefundlist(int joinid,Pageable page)throws BusinessException;
    
    public List<TbSlLoanRefundVo> queryLoanRefundlist(int joinid,String stime,String etime ,Pageable page)throws BusinessException;
    
    /**
     * 查询某条贷款已还的贷款利息
     * @param idSlLoanCreditLog
     * @return
     * @throws BusinessException
     */
    public Long queryTotalInterest(int idSlLoanCreditLog)throws BusinessException;

    /**
     * 查询商户的贷款统计表出错
     * @param userIdOfJoinOfDebtor
     * @return
     * @throws BusinessException
     */
    public List<TbSlLoanRefundTotalVo> queryRefundTotalVo(int userIdOfJoinOfDebtor,Pageable page) throws BusinessException;

    public List<TbSlCheckAccVo> queryCheckAccVo(String curdate,Pageable page)throws BusinessException;

    public List<TbSlLoanRefundVo> queryRenewedRefundForExcel(int joinid) throws BusinessException;

    public List<SLRefundBaseInfoVo> queryRefundBillVo(String begintime, String endtime, Integer userIdOfJoinOfDebtor,Integer userIdOfJoinOfCreditor, Pageable pageable) throws BusinessException;
    
    public SLRefundBillVo querySlRefundBillSumvo(String begintime,String endtime,Integer userIdOfJoinOfDebtor,Integer userIdOfJoinOfCreditor)throws BusinessException;
    

}